package com.itheima.Demo;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import java.util.List;

public class DemoDOM4J {
    public static void main(String[] args) throws DocumentException {
        //获取解析器对象
        SAXReader reader = new SAXReader();
        //读取文件
        Document document = reader.read("Day22codes\\tianqi.xml");
        //获取根元素
        Element root = document.getRootElement();
        //elements()     			: 获取当前元素的子元素
        List<Element> list = root.elements();
        //遍历集合
        for (Element element : list) {
            System.out.println(element);
        }
        System.out.println("============================");
        //element(String name)		: 根据元素名获取指定子元素(如果有多个重名就获取到第一个)
        Element s = root.element("北京");
        System.out.println(s.getName());
        System.out.println("============================");
        //获取北京里面的最高温度这个元素
        String text = root.element("北京").element("温度").element("最高温度").getText();
        System.out.println(text);
        System.out.println("============================");
        //attributeValue(String name)	: 获取当前元素下某个属性的值
        String s1 = root.element("北京").attributeValue("id");
        System.out.println(s1);
        System.out.println("============================");
        //elementText(String name)	: 获取指定子元素的文本值,参数是子元素名称
        //获取北京的最高温度
        String s2 = root.element("北京").element("温度").elementText("最低温度");
        System.out.println(root.element("北京").getName()+"的"+root.element("北京").element("温度").element("最低温度").getName()+"是"+s2+"度");
    }
}
